1. Field of the Invention
The present invention relates to a gateway for delivering messages from a message source to wireless devices and, more specifically, to a short message point-to-point protocol gateway that performs a throttle control function associated with routing messages from an external source to a wireless device.
2. Discussion of Related Art
Wireless devices such as mobile telephones and the like can transmit and receive short messages from a variety of different sources. One example of a source of a short message destined for a wireless device is a short message entity (SME). Examples of such short message entities include computers, interactive voice response systems (IVR), teleservice servers, and intelligent peripherals. Examples of short messages that may be sent include voice mail and email. A device operating as a message source external to a wireless network is commonly called an external short message entity (ESME). Typically, and in the context of this disclosure, an ESME is a device associated with a wired network that operates as a message source delivering a message to a mobile device. ESME messages destined for mobile devices are called herein mobile terminated (MT) messages since they originate from a wired ESME device and terminate with a mobile device. The following discussion relates primarily to MT messages.
In addition to operating as the source for a short message, ESMEs may also receive short messages from other devices, such as mobile devices. In this regard, messages originating from mobile devices are referred to herein as mobile originating (MO) messages.
A basic protocol for delivering messages from a wired network using a teleservice server to a wireless or mobile device is called the short message peer-to-peer (or point-to-point) protocol (SMPP). In addition to this basic protocol that may be used for a variety of ESMEs, the exact message flows from the ESME to the mobile device varies for each teleservice provider. A basic network architecture by which a message is delivered from a message source to a message-receiving device is shown in FIG. 1. As discussed below, numerous logical interfaces are presently necessary between an ESME and a wireless network in order to send and receive short messages. The different logical interfaces are necessary because numerous teleservices associated with ESMEs require different protocols for interfacing their ESME with routers in order to deliver the messages.
The architecture shown in FIG. 1 illustrates a system for delivering short messages from an ESME to a wireless network device. An external short messaging entity 108, 110, 112, 114 or 102 is the source of a short message. Examples of an ESME may include the telephone, cellular phone, computer connecting through the Internet 106 to a network, or the like. A plurality of messaging (or message) centers 1241–124x (MCs) each receives messages from one of the ESMEs. Since there are many different protocols for communicting short messages to the messaging centers, each messaging center can only receive messages sent by ESMEs 102 delivering messages according to a known protocol for that messaging center. If the destination of the ESME 102 message is a wireless device, the MCs 1241–124x transmit the short messages to a wireless network having network nodes and network switching centers 128, 130. The wireless network includes a home location register 126, a mobile switching center 132 and antennas in order to deliver the message using the over-the-air interface. The mobile receiving device, or wireless device 136, receives and displays the intended message to a user.
As the demand for messaging services increases, the number of messages delivered by message centers will also increase. The increased demand poses difficulties in scaling the message complex to handle numerous ESME requests. Furthermore, non-standard ESMEs or ESMEs that do not recognize a messaging protocol for a phone number or pager number may be the intended destinations or message sources for a message. This increases the complexity of the network requirements for delivering messages.
Having discussed MT messaging, we now turn to a discussion of messages that originate from a mobile device. These are referred to herein as mobile originated (MO) messages. Delivering MO messages, like MT messages, suffers from the probem discussed above wherein numerous interfaces are necessary for the variety of protocols used for the numerous teleservices. MO messages are transmitted from the mobile device through the wireless network to an MC 1241–124x. However, each mobile device transmits messages to its associated MC 1241–124x, wherein routing tables or a translation process are needed to route the message in the direction of the destination ESME. Many different messaging interfaces are necessary for transmitting the message from the MC 1241–124x to an ESME 102. The translation processes and need for knowledge of a variety of message types slows down the transmission of the message and the ultimate message delivery time.
Currently, throttle control is rarely performed for SMPP messages, although the SMPP standard protocol provides for the throttle function but describes no implementation. The throttle control presently used, if any, is based on the total message flow. The present throttle control monitors the sum of all messages arriving at the MC from all ESMEs and determines if that sum exceeds a predetermined limit. When the throttle control limit is reached, a throttle control message is transmitted to all the ESME's to reduce the messages sent.
There are deficiencies in the present method of performing throttle control. For example, it is unfairly governed. If a single ESME transmits so many messages that throttle control is necessary, other ESMEs bound to the system will receive a throttle error signal preventing them from transmitting messages where the neighboring ESME is the one clogging the system. This unnecessarily inhibits messages from being sent by ESMEs who are not transmitting messages.